#include <stdio.h>      // 标准输入输出
#include <unistd.h>     // POSIX标准接口

#include "ohos_init.h"  // 用于初始化服务(services)和功能(features)
#include "cmsis_os2.h"  // CMSIS-RTOS API V2

#include "iot_gpio.h"   // OpenHarmony HAL：IoT硬件设备操作接口-GPIO
#include "iot_i2c.h"    // OpenHarmony HAL：IoT硬件设备操作接口-I2C
#include "iot_errno.h"  // OpenHarmony HAL：IoT硬件设备操作接口-错误代码定义
#include "hi_io.h"      // 海思 Pegasus SDK：IoT硬件设备操作接口-IO
#include "hi_adc.h"     // 海思 Pegasus SDK：IoT硬件设备操作接口-ADC

#include "JX90614.h"
#include "jx906.h"




// 定义一个宏，用于标识AHT20的波特率（传输速率）
#define AHT20_BAUDRATE 400 * 1000

// 定义一个宏，用于标识要使用的I2C总线编号是I2C0
#define AHT20_I2C_IDX 0



 void JX906_init(void )
{
    
    // 接收接口的返回值
    uint32_t retval = 0;
  

    // 初始化GPIO
    IoTGpioInit(HI_IO_NAME_GPIO_13);
    IoTGpioInit(HI_IO_NAME_GPIO_14);
    //设置IO6为低电平
    IoTGpioInit(HI_IO_NAME_GPIO_6);
    hi_io_set_func(HI_IO_NAME_GPIO_6, HI_IO_FUNC_GPIO_6_GPIO);
    IoTGpioSetDir(HI_IO_NAME_GPIO_6,IOT_GPIO_DIR_OUT);
    IoTGpioSetOutputVal(HI_IO_NAME_GPIO_6,IOT_GPIO_VALUE0);

    // 设置GPIO-13引脚功能为I2C0_SDA
    hi_io_set_func(HI_IO_NAME_GPIO_13, HI_IO_FUNC_GPIO_13_I2C0_SDA);
    // 设置GPIO-14引脚功能为I2C0_SCL
    hi_io_set_func(HI_IO_NAME_GPIO_14, HI_IO_FUNC_GPIO_14_I2C0_SCL);

    
}


float jx906_get()
{
    JX906_init();
    // 用指定的波特速率初始化I2C0
    IoTI2cInit(AHT20_I2C_IDX, AHT20_BAUDRATE);
    // printf("IR start \n");
    if(IOT_SUCCESS!=Data_Ready())
    {
        printf("Data_Ready error \n");
    } 
    uint8_t buffer[3]={0};
    int tmp=0;
    float hum;
    
        
    StartMeasurement(buffer);
    usleep(2*1000*1000);
    // printf("0x10:%d,0x11: %d ,0x12:%d \n",buffer[0],buffer[1],buffer[2]);
     tmp=(buffer[0]<<2)+(buffer[1]>>6);
        // printf("tmp:%d  \n",tmp);
        
    return tmp;
}


